required lib