interaction template + preprocessor v1