removed logging used for debugging and changed ExplanationPart to return null as i don't know how to do it properly :(
first working version a little late since i didn't expect this to be big enough to require source control 😵💫