Set refactor - IN PROGRESS

don't merge yet