Initial implementation

Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>