Added viewHolder pattern and built out more of listView