this provides a better interface and could only help performance starting to add some useful library code