break parse method into constructor and parse