kernel now works. fix for floats. need to add iteration to kernel