implement add question function