Add base factory pattern file