added gen_tcp( general tcp ) template