#19 - added setter template implementation