refactored, fixed, and added test codes and renamed from video to lesson