moved user creation to promises