added Version to the interface and elided some dead code