attempt to use scalaz instead