moved saving of fk and m2ms to fields. behavior can be overridden better