Way too much logic for such a simple thing.