removed shared setup code from constructors and put into one set up function. klbrann