added some typeclass-fu