add factory for user