simple library interface
initial code to create a sub
rm old proof of concepts stuff