library for main component