Revert "Revert "first class""

This reverts commit b91bf21ae2c8df571244f95b4215d05968a7808c.