28 getting closer

working for most cases. Needs structure, and argument test cases for all
inputs