More engine work. Not finished yet.