written by scala-Play2.0