added system startup and init