refactor TargetParser