that last commit was just so hideous; maybe this way looks nicer.