split up readmes
use bit manipulation instead of math functions