factored out reportparts