re-added missing functions