applicative parser
applicative parser: hacky implementation