unzip design pattern sample