implement toList
implement foreach
more tests