Checking in my changes.

Still have a bug I am not sure about yet.