doing constructors the right way