write logic for topic, user, views, add cancan