add span interface & tests