use Class.new to avoid override the User class