add pathing functions
add unittests