generic pattern library for personal projects