more reusable code