some refactoring + listcollection + small bugfix