adds data.hpp and other changes