Revert "Initial commit"

This reverts commit a207b62555a71a6fc1c3de0f56a410a947bfe8f5.
Revert "Revert "Initial commit""

This reverts commit cc0f43f9261338549f951d8a41e35342b8f5af2d.
Added current source code.