introduced abstract resource