adding testing structure
fixing bad tests, still needs attention