finished semi answer