finished condition codes
added all tests