Many fixes/changes/additions