implemented shrink by