little more freedom with server def