stupid seg fault make me do stupid stuff but stable
ready to turn in