finished definition and factory method for a server