 Is there another way I should use/implement these? Or do I need to clone them and make new internal versions for my library?