Initial code.

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>