made self-contained