class creation, fields generation