breaking down the parse method