re-implemented using our own init scripts