#1 and #5 complete