add not-top and fix tow defect and refactor reg