refactored asset manager