updated to return document if using find_or_create
bumped version