updates before merging rezn8d's latest