initial commit with many old v. changes
re-write stratey around callback