tmp: input.hpp