TODO: finish the grahamScan function