General tasks: * complete casual missing class pods * finish test framework and add better test cases * improve tests for all classes