Add server abstraction