Implemented the Reload Method

This one was a beast, it's kind of confusing so if you have questions
just ask me.