Programming Assigment from Javier Ruiz Guillen