added support for de-structuring assignments