Profile parsing extracted to business layer