basic roll functionality complete