added compass and test case