david keenan