added a default signature with generic deriving for Aeson like convience