Add unlike functionality and improve associated code