modified blop.hpp