Sync with master version
-- trying to stay in sync
-- with newkid313's copy