add a bit more sophistication