combined create/update player