extracted setop to its own project