use first_or_create, it's cleaner
get rid of some warnings