systems should be more self-contained