new constructors added and tested