adding define functionality