back to simple logic ... rinse , repeat