Built a factory for user