TMP: Policy based design