draft for user module