Moving over some struct code to clean somethings up