separate server and builder