Modified some bounds checking, maybe fixed a bug or two and updated the to-do list