big refactor. new js structure
origin master merged
origin master merged and new js structure