make publish generic allowing user to specify any metadata. references #29
ported accum_features, made single scan centric. references #29