future work, and type/spec added