added constructors to control