constructors almost done