TSM implementation