Implementation of userProgress function