all of assign1b and part of assign2a