added png decoder