starting server abstraction