initial commit, basic version(wip)