correct logic of class assignments to be flexible
Merge github.com:hbc/projects