Added private function 'Parse' that abstracts all the impl