separate constructors into separate files