little speed optimization