completed Foundation.h