add support of several condition functions