logic is hard