first attempt to solve moderation problem
basic permissions abstraction class