added initShaders() function