Scala advanced topics