reorganized lib