broken responsabilities of predicate.rb
adding support to create scopes