This is gonna take forever...