migrated to jdk-1.8 with lambdas