rewrote parsing up to point, hash includes and defines funcitonal