move singleton to an option