added version function