adding almost finished code for parse