Library for generic purpose