refactoring;
fast parse