#1 and partial #2