put supression back in , use reflection in toolcore, etc