added pattern library