changed roll() to hide it from the user