pass function, return function, apply method
add ensime sbt cmd
fix warnings