semi finished new library implementation