it's better to add len_ > 0 check