some ideas in comments about handling object fields