adding compute_endpoint