almost finished SetManager