seperate version function out in seperate file