implemented server, compile