some added functionality