generic resource manager