migrated to scala 2.10