First part done
Almost finished