Multimethod handlers

getting a multimethod in there, more flexibility for the users of this lib, no breakage of backward compatibility