add Scala + refactor