Damn this was hard!