implemented user api