some extensions/modifications. versions added.