less dependencies in header files, base of resource manager