add isolated mode (#428) to prevent unwanted interactions between parent and child components. also, have a bit of a tidy up