fixed before_save