Simplify core protocol