Initial commit
Added doc, and refactored files