use ServeMux, capitalize API, clean tests