Initial code author: Joseph Coffland
Additional work on BOMPath & BOMTree done by: Julian Devlin
