fixed non-local assignments