separate general and specific stuff