updated & | logic