Use transient and derived fields