BACKWARD INCOMPATIBLE! permission system complete overhaul + some optimizations