Require Functionality: Final Commit, fixed some compatability errors and added comments.