compile erros corrected