made some additional and overloaded constructors