fixed up properly so it doesn't need context paths, tidied up tests and removed unnecessary extra module