add summaries arrange public and private functions.