move 'fault' subsystem to separate file; make 'private' functions sttaic