add keyword parsing