Update to include self functions to prevent spamming