add parse logic