i dislike using bitwise operators logical and but it has been that way before