use interface http.Handler instead of type http.HandlerFunc