improved init task