Yes, it is hard but if you get the grasp on a few concepts then it becomes easy.