update version/use symbolized keys
use on_change for example and fix calculation