user framework