Changing interface and adding the value typeclass.