Initial commit, github import.

This is working version but still many things to fix, improve and add.