ScalaCL3: ported most remaining classes from scalaxy