abstract user module and call register in filter