template now use dict