genkernel version 4 rewrite