Merging in noise23's updates