use negative dotproduct