made parsing pluggable