add perl version builder pattern
fix director missing function getProduct