implemented promise & removed setTimeout from practice controller.