improve force logic