property.hpp