basic work on response generation