private void subMenu(String sub) {
		this.clear();
		StringBuilder sb = new StringBuilder();
		sb.append(sub.charAt(0)).append(sub.substring(1).toLowerCase());
		
		System.out.println("=========== " + sb + " MENU ============");
		System.out.println("\t1. Add " + sb);
		System.out.println("\t2. Update " + sb);
		System.out.println("\t3. Delete " + sb);
		System.out.println("\t4. Search " + sb);
		System.out.println("\t5. Back");
		
		System.out.println("Enter your choice: ");
		try {
			Scanner scanner = new Scanner(System.in);
			int choice = scanner.nextInt();

			switch (choice) {

			case 1:
				if ("student".equals(sub.toLowerCase())) {
					StudentController.INSTANCE.createStudent();
				} else if ("subject".equals(sub.toLowerCase())) {
					SubjectController.INSTANCE.createSubject();
				}
			case 2:
				if ("student".equals(sub.toLowerCase())) {
					
					System.out.println("Enter student id:");
					int stuId = scanner.nextInt();
					
					System.out.println("Enter subject id:");
					int subId = scanner.nextInt();
					
					System.out.println("Enter score:");
					float score = scanner.nextFloat();
					
					StudentController.INSTANCE.addMark(stuId, subId, score);
					
				} else if ("subject".equals(sub.toLowerCase())) {
					
				}
			case 5:
				this.clear();
				this.menu();
				break;
			default:
				this.clear();
				this.subMenu(sub);
			}
		
		} catch (InputMismatchException ex) {
			this.clear();
			System.out.println("Your choice is not correct, pls enter 1-5");
			this.subMenu(sub);
		} catch (NullPointerException ex) {
			System.err.println("Sub type is not correct");
		}
	}