provided Urkel interface; factored and tailered.
added trash