First design and a bit of logic