adding back some functions