new implementation of conditions