Add template & half implement Hartshore