base user framework is done