reorder parser predicat to better understanding