added use of cancan to handle permissions and authorization
added use of cancan to handle permissions and authorization