TDD for Template
remove psuedo impletation
refactoring tests
error case and performance test