Added the self-interacting term but accuracy is low still.