add builder and test