Move main function to make things work back again
Refactoring
Add SetOperation