created a few entity models, added cancan for permission system