tested and improved bool method