improve possible bad performance