improve API (addX returns x)