What's diffrerance between software and hardware initiator and how does these two can get implements?