user needs moved to lib