fixed pass logic