Use derived and transient fields