simpler logic