Some rather large changes