Added button timeout to prevent spam