Update 2.5

Combine Andrew's code with my new code updates.