Parser refactory