fixed order so clean is done upfront