added collection type, re-organized object hierarcy / relationships, added global init()