Fully implemented batch actions
General refactoring and improvements to allow customisations