utilized find_or_create_by