finish sem & mutex, not test yet