implemented project 2 list functionality (todo: diff, pull, cap, leave, filename passing on list and diff)