this is nicely done.