fixed a bug with setfields on non-virtuals escaping virtuals