Use deepequals in assert
Add list type
Add Run function
Remove unused code
Pass on errors from Run