splited code, review basic predicates
a night of works...