some functions for later use