better impl + thymeLeaf + order