refactoring
refactoring
use ABNF parser