sometimes I forget how unions work >.<