improve init() methods to handle problems better, deprecate init(String) method, and do a little formatting cleanup that was missed in initial revision