Add cancan and role implementation. everything working