Java 8 release changed the language a lot: introduced lambdas and the Stream API, Nashorn JS engine and an improved Fork-Join framework; updated Date and Time API, and concurrency primitives. But how relevant those changes are for your real projects? In this article, we take a small project - in this case a zip archive processing library called zt-zip - and migrate it to Java 8. Is real-world code full of opportunities to use lambda expressions? How easy is it to rewrite your loops using the Stream API? We tried to figure it out and note what goes well and where Java 8 doesn't exceed the expectations.