UPDATE: incorporate template