WIP: mechanisms
mechanisms getting closer, added some tests