actually getting stuff to compile and tests to pass