revamping tests and finishing moving components out, all nice and clean