isolated parser functions