Make it OOP
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>