completed program. need to test on linux lab computers