some reuseable lib in my work