refactor parsing and add more parse options