added some new typeclass magic. this can either pay off or become really awful. tune in to find out