the code still.. i donno

need to figure out:
1) data structures to pass
2) simplified funcitonalities
3) maybe rewrite the loop.
4) maybe rewrite the shift/rotate function?