WIP: separating out libraries
WIP: separating out libraries