done all mandatory parts