add classes for builder pattern