Initial commit.
Add inner thread.
Finish initial version.