final code! -Jeremy