More scala-ish API