program diagnostics