Initial implementation of the library.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>