separating user and device api methods