basic fabricant class implemented: need to further test