shorter code
use doto
use merge