Performed a bit of minor refactoring to correct silly mistakes. Everything is working well at this point, will be reviewing the final few issues and hopefully tagging this commit as release 1.0!