separated lib