using sharedptrs from leapmidi sharedptr branch, cleanup coming soon