basic pattern library finished