added PNG decoding