actions refactored as delegates