task #5
tasks #7
misc diffs