work on reusability