Final touches and error handling. Just need to finish testing and comment methods