starts to build out library -untested