changed all the interesting bits