updated to leverage cancan