functions for versions