improved question type js