translate p_join to member function
convert p_message to member function
make p_inline a member function