Renaming and refactoring of names, variables
Add restart functionality
Add comments