tolist() for all the class can be as good as bad, maybe we should have an __iter__ as well