added functionality. refer to documentation