stop throwing in constructor, divide handleSession method.
add comments (in Japanese).