Improved documentation, introduction of abstract collection intarface