starting problem.hpp, implementing boundary interfaces types