256 seems a pretty stingy, especially since don't check for overflow. Checking for overflow below may save some annoying debugging in the future.