move collection creation methods to collection