This was supposed to be just a warm up sketch, but I got carried away.