virtual fields, see #23