new logic structure