assign1 not entirely correct