returning a shared array is dangerours maybe we let the users parse the version each time?