Initial commit.
It does not work properly for Windows though