1) replaced with resource type
2) created base classes