all test passing, allows attributes and methods as ether a list or dictonary for return values