work in progress, getting closer