added mixed-case email test; handle before_save a bit differenly