fixing monadic parser