added missing abstract methods