added constructors and config