add a ctor which takes username and password