pull apart nested behaviour a bit