better parsing for selectors (more meaningful AST)