Abstract template

Abstract template