edge.hpp