add decode support in parser