Major refactoring

Rearrange files to accomodate next features.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>