merging with tiffbranch's changes
twiddliedinks