add write method & support std::tuple
splt source file