Initial implementation.

Signed-off-by: Serge Broslavsky <serge.broslavsky@gmail.com>