patterns project: singleton and builder