abstract Object