Added modules, refactored stuff. PS I love Java