General perpose library