First commit

First commit, development version, need some test, but working.