Full TS implement