needs a few tweaks, but overall nice work!