#1 and #2 done