getting complex may need to use hash