add category dsl
fix bug category conditions