done with partial code