added explicit to constructors