add span3 impl