changed the constructors a bit