use interface so we dont break gson