using decoder to parse the properties