moving responsibilities, making libraries portable