Implements All The Events