needs more work has seg fault
Merge remote-tracking branch 'origin/master'
fixed seg fault, diffusion needs work