Here's a scratch build I started a while ago. I'll omit the talking, but if you want to know what is happening, head to Bit-Tech Project Logs.