Closes #33 (closed)
Certainly some error checking needs to be done and edge cases we should account for for