practice reusable library