modified builder