While this is a common idea, you made it yours and added unique twists to it. I liked your implementation a lot, nice work!