Move Eno() development in develop-Apply branch out, and further revise it. Ready to merge into develop-Apply.