new sloch implementation