custom common library