refactor user_spec and create geography_spec