Merged ben6. Added a lot of things.