added km, sqkm and their factories, created  skeletons for test implementations of each interface