finished coding. mostly writing test cases now