modified implementation, staged for merge
merged
added preliminary implementation and experiment writeup