for now, implement jsonserialize. this need refactor