[clean] using deriving syntax