First version completed. Now time to test and improve it.