all test cases working.  more visual tweaks. close #17