new library that supports LPUSH