My take on @tj's n