working, sorry for the massive update in one commit peeps