tidy up constructors