working on the roll logic