better singleton factory
singleton factory prevents locking, metadata fetcher solved