implemented preliminary tc