not so broken
no way it works
now we are getting somewhere
works and getting closer
nice nice
refactor complete