i think there is a little logic glitch here