maybe we want the client to pass the path?