add builder implementation