created constructor
Implemented various constructors and tests