Update project file
Do refactoring of the source code
Update tests