fix: use composite resource loader to deal with multiple locations
refactor: move constants to settings class