Should have the main word, still not ready and possibly needs refactoring