oh -- and if they're matched push and pop - then you shouldnt need to do the if scopes.size == 1 since their should be no way for the scopes to get out of sync