add parse() API