Rewrote the roll method