A lot of refactoring. Also added love highlighting.