add cancan and rolify but not finished yet