refactored and fixed create vs save vs upserts