answer building improved
use struct for answer