Refactored Parse method, split up