move logic from fpc and tpc to fetch_descriptor, add abort, change commands