smart.h