added cancan support