fixed bug in violates inequality, implemented kind method