packaging and main lib