no unnecessary printing