adding demo functionality