improved principal version and form save