changed constructors