avoid double execution