add resource framework