changed response builder to use factory