fixed pointer casting, underlying bit patterns DO NOT CHANGE, fixed, fixed passing in a dereference arugment, didnt dereference. added runtime check