[feature] start moving to s-expr AST