ply level 2 refactor, adding framework for L3 gesturescommitting as requested