updating with recent changes/fixes