adds a ton of test cases and minor improvements
added missing docblocks and remain test cases for _conditions