added keyword parsing