Refactored project to remove Exceptions and improve architecture.