#3 some logic