much more flexible fields