code cleanup
new katavorio with custom constrain function support