updated for Scala 2.10