mandatory part almost done