Programmed in Java