begin to develop tag function