First commit. There is no API, but there is working lib! API is yet to come.