some todo
select done
split compile to 2 steps
split compile for CriteriaCompiler too
more result methods