made parser instances more generic