user parse logic