sub roll { my ($self, $dxx) = shift;