added child selectors and a whole crapload of other stuff