a lot of changes since the last commit. we are getting closer...