add reusable code