added extra functions