slightly fancier
corrected
corrected again
fixed