finish sa_parser refactor