Pulled out constructor methods to prototypes