First commit, converts upto 4-byte character codepoints
Added comments