my own common library