unnesting since nested classes don't work in dart