Refactored the entire project to improve layout and to match that of documentation