Add an inizialization helper
Rename some functions
Add a timer, a scoped timer and some utils
Add a progress interface and a cout progress
Add some new test case