separated file for asset loading