add resource generation