implementation based on TeaLeaf solutions