Super refactor. Updated to 1.7.10