leap first submission
revision 2, improve readability