some trival modification