https://github.com/esseak/study_for_by