Factored out parts of the result into separate classes