another try at variable reform