oops
use abstract base user/manager