split template into real editable template patch and instrument creating abstraction