added a kernel for independent outputs