better setup with templates