did some refactoring and also bootstraped some collection