tried again w/ restrucutre